package main.synch;

import main.Primavera.LoginFunctions;
import main.Trees.ProjectNode;
import main.reports.BusyDialog;
import org.jdesktop.swingx.JXBusyLabel;

import javax.swing.*;
import java.awt.*;

public class ValidThread extends Thread {

    private ProjectNode curProject;
    private LoginFunctions loginFunc;
    private PrimaveraProject primaProject;
    private BusyDialog busyDlg;

    public ValidThread(ProjectNode curProject, LoginFunctions loginFunc) {
        this.curProject = curProject;
        this.loginFunc = loginFunc;
    }

    public void run() {
        this.busyDlg = new BusyDialog("Валидация", "<html>Подождите, пожалуйста, идет валидация проекта.<br> Выгружаю данные из базы Factage...</html>");
        busyDlg.start();

        if (curProject != null) {

            SQLProject ss = new SQLProject();
            ss.validSQLProject(curProject, loginFunc);

            busyDlg.setDescription("<html>Подождите, пожалуйста, идет валидация проекта.<br> Сохраняю данные в Primavera...</html>");

            this.primaProject = new PrimaveraProject(loginFunc.session, curProject, busyDlg);
            primaProject.validProject(ss, busyDlg);

            busyDlg.setDescription("<html>Валидация завершена.<br> <br>Для завершения нажмите \"Готово\"</html>");
            busyDlg.stopBusy();

        } else {
            busyDlg.setDescription("<html>Валидация не проведена.<br> Откройте, пожалуйста, проект для валидации.<br> <br>Для завершения нажмите \"Готово\"</html>");
            busyDlg.stopBusy();
        }
    }


}
